package com.zj.eswrapper.interfaces.field;

import com.zj.eswrapper.interfaces.IBaseWrapper;
import com.zj.eswrapper.interfaces.IGetter;
import com.zj.eswrapper.utils.LambdaUtil;

/**
 * 条件拼接器，字段接口
 *
 * @author 19242
 */
public interface ILambdaField<DO, Simple> extends IBaseWrapper<IGetter<DO>> {
    /**
     * 获取字段名的方法
     *
     * @param getter 入参
     * @return 字段名
     */
    @Override
    default String getField(IGetter<DO> getter) {
        return LambdaUtil.getClassPropertiesName(getter);
    }

    /**
     * 转换成普通条件拼接器
     *
     * @return Simple
     */
    Simple simple();
}
